package com.aisile.yongyouyun;

import com.alibaba.fastjson.JSONObject;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
 
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLSession;
 

 
public class OCRv2 {
    public static final String DEF_CHATSET = "UTF-8";
    public static final int DEF_CONN_TIMEOUT = 30000;
    public static final int DEF_READ_TIMEOUT = 30000;
    public static String userAgent =  "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36";
     
    public static final HostnameVerifier DO_NOT_VERIFY = new HostnameVerifier() {
        public boolean verify(String hostname, SSLSession session) {
            return true;
        }
    };
     
    //配置您申请的KEY
    public static final String APICODE ="a601dbac2bfe40398cb04cdbc8917feb";
 
    //1.API方法
    public static void getRequest(){
        String result =null;
        String url ="https://api.yonyoucloud.com/apis/dst/IdcardOCR/IdcardOCRv2";//请求接口地址
        String method = "POST";
        String paramFormat = "form";
        Map<String, Object> params = new HashMap<String, Object>();//请求参数
        params.put("img", "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");
        params.put("format", "json");
        params.put("typeId", "2");
 
        Map<String, Object> headerParams = new HashMap<String, Object>();//请求头参数
        headerParams.put("apicode", APICODE);//APICODE
 
        try {
            result = net(url, params, headerParams, method, paramFormat);
            System.out.println(result);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
 
    /**
     *
     * @param strUrl 请求地址
     * @param params 请求参数
     * @param method 请求方法
     * @return  网络请求字符串
     * @throws Exception
     */
    public static String net(String strUrl, Map<String,Object> params, Map<String,Object> headerParams,String method, String paramFormat) throws Exception {
        HttpURLConnection conn = null;
        BufferedReader reader = null;
        String rs = null;
        try {
            String contentType = null;
            if(headerParams.containsKey("Content-Type"))
                contentType = headerParams.get("Content-Type").toString();

            StringBuffer sb = new StringBuffer();
            if(method==null || method.equals("GET")){
                strUrl = strUrl+"?"+urlencode(params);
            }

            trustAllHttpsCertificates();
            HttpsURLConnection.setDefaultHostnameVerifier(DO_NOT_VERIFY);

            URL url = new URL(strUrl);
            conn = (HttpURLConnection) url.openConnection();
            if(method==null || method.equals("GET")){
                conn.setRequestMethod("GET");
            }else{
                conn.setRequestMethod("POST");
                conn.setDoOutput(true);
            }
            conn.setRequestProperty("User-agent", userAgent);
            for (String i : headerParams.keySet()) {
                conn.setRequestProperty(i, headerParams.get(i).toString());
            }
            if("form".equals(paramFormat) && !"application/x-www-form-urlencoded".equals(contentType) && !"application/xml".equals(contentType)) {
                conn.setRequestProperty("Content-Type", "application/json;charset=utf-8");
            }
            conn.setUseCaches(false);
            conn.setConnectTimeout(DEF_CONN_TIMEOUT);
            conn.setReadTimeout(DEF_READ_TIMEOUT);
            conn.setInstanceFollowRedirects(false);
            conn.connect();
            if (params!= null && method.equals("POST")) {
                try {
                    OutputStream out = conn.getOutputStream();
                    if("form".equals(paramFormat)) {
                        if("application/x-www-form-urlencoded".equals(contentType))
                            out.write(urlencode(params).getBytes("utf-8"));
                        else if("application/xml".equals(contentType))
                            out.write(xmlencode(params).getBytes("utf-8"));
                        else
                            out.write(jsonencode(params).getBytes("utf-8"));
                    } else
                        out.write(params.toString().getBytes("utf-8"));

                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
            InputStream is = conn.getInputStream();
            reader = new BufferedReader(new InputStreamReader(is, DEF_CHATSET));
            String strRead = null;
            while ((strRead = reader.readLine()) != null) {
                sb.append(strRead);
            }
            rs = sb.toString();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (reader != null) {
                reader.close();
            }
            if (conn != null) {
                conn.disconnect();
            }
        }
        return rs;
    }

    //将map型转为请求参数型
    public static String urlencode(Map<String,Object>data) {
        StringBuilder sb = new StringBuilder();
        for (Map.Entry i : data.entrySet()) {
            try {
                if(("").equals(i.getKey())) {
                    sb.append(URLEncoder.encode(i.getValue()+"","UTF-8"));
                } else {
                    sb.append(i.getKey()).append("=").append(URLEncoder.encode(i.getValue()+"","UTF-8")).append("&");
                }
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
        }
        return sb.toString();
    }

     //将map型转为请求参数型
    public static String jsonencode(Map<String,Object>data)  {
        JSONObject jparam = new JSONObject();
        for (Map.Entry i : data.entrySet())
            jparam.put((String) i.getKey(), i.getValue());

        return jparam.toString();
    }

    //将map型转为请求参数型
    public static String xmlencode(Map<String,Object>data) {
        StringBuffer xmlData = new StringBuffer();
        xmlData.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
        for (Map.Entry i : data.entrySet())
             xmlData.append("<" + i.getKey() + ">" + i.getValue() + "</" + i.getKey() + ">");

        return xmlData.toString();
    }

        static class miTM implements javax.net.ssl.TrustManager, javax.net.ssl.X509TrustManager {
        public java.security.cert.X509Certificate[] getAcceptedIssuers() {
            return null;
        }

        public boolean isServerTrusted(java.security.cert.X509Certificate[] certs) {
            return true;
        }

        public boolean isClientTrusted(java.security.cert.X509Certificate[] certs) {
            return true;
        }

        public void checkServerTrusted(java.security.cert.X509Certificate[] certs, String authType)
                throws java.security.cert.CertificateException {
            return;
        }

        public void checkClientTrusted(java.security.cert.X509Certificate[] certs, String authType)
                throws java.security.cert.CertificateException {
            return;
        }
    }

    private static void trustAllHttpsCertificates() throws Exception {
        javax.net.ssl.TrustManager[] trustAllCerts = new javax.net.ssl.TrustManager[1];
        javax.net.ssl.TrustManager tm = new miTM();
        trustAllCerts[0] = tm;
        javax.net.ssl.SSLContext sc = javax.net.ssl.SSLContext.getInstance("SSL");
        sc.init(null, trustAllCerts, null);
        javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
    }

    public static void main(String[] args) {
        getRequest();
    }
}